package cn.springboot.osbulkparts.service;

import cn.springboot.osbulkparts.common.CommonResultInfo;
import cn.springboot.osbulkparts.common.entity.CommonEntity;
import cn.springboot.osbulkparts.entity.MPackingDetailsInfoEntity;
import cn.springboot.osbulkparts.entity.TDeliverInfoEntity;
import cn.springboot.osbulkparts.entity.TDictDataEntity;
import org.springframework.http.ResponseEntity;
import org.springframework.security.core.Authentication;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Locale;
import java.util.Map;

public interface PackingDetailsListService {

	CommonResultInfo<Map<String, List<TDictDataEntity>>> initViews(String lang, Locale locale);

	CommonResultInfo<?> getPackingDetailsList(MPackingDetailsInfoEntity mPackingDetailsInfoEntity, int pageNum, int pageSize, Authentication auth, Locale locale);

	CommonResultInfo<?> getPackingDetailsInfo(MPackingDetailsInfoEntity mPackingDetailsInfoEntity,Locale locale);

	CommonResultInfo<?> addPackingDetailsInfo(MPackingDetailsInfoEntity mPackingDetailsInfoEntity, Authentication auth, Locale locale);

	CommonResultInfo<?> updatePackingDetailsInfo(MPackingDetailsInfoEntity mPackingDetailsInfoEntity, Authentication auth, Locale locale);

	CommonResultInfo<?> importExcel(MultipartFile excleFile, HttpServletRequest request, Authentication auth,String lang,Locale locale);

	CommonResultInfo<?> deleteBatchByIds(CommonEntity commonEntity, Authentication auth,Locale locale);

	ResponseEntity<byte[]> downloadExcel(MPackingDetailsInfoEntity mPackingDetailsInfoEntity, Locale locale);

	CommonResultInfo<?> getPackingDetailsInfoBymaterialCode(MPackingDetailsInfoEntity mPackingDetailsInfoEntity, Locale locale);

	/**
	 * 批量修改
	 * @param mPackingDetailsInfoEntity
	 * @param auth
	 * @param locale
	 * @return
	 */
	CommonResultInfo<?> updatePackingDetailsList(CommonEntity commonEntity, Authentication auth, Locale locale);


}
